#include <my_head.h>

typedef struct _Msg{
    long type;
    int id;         // 学号
    char name[16];  // 姓名
    short score;    // 成绩
}msg_t;

int main(int argc, const char *argv[]){
    // 获取key值
    key_t my_key = ftok("/home/linux", 'A');
    if(-1 == my_key)
        ERR_LOG("ftok error");
    // 创建或者获取消息队列
    int msqid = msgget(my_key, IPC_CREAT|0666);
    if(-1 == msqid)
        ERR_LOG("msgget error");
    // 第1条消息
    msg_t msg1 = {10, 1001, "zhangsan", 98};
    if(-1 == msgsnd(msqid, &msg1, sizeof(msg1)-sizeof(msg1.type), 0))
        ERR_LOG("msgsnd error");
    // 第2条消息
    msg_t msg2 = {20, 1002, "lisi", 100};
    if(-1 == msgsnd(msqid, &msg2, sizeof(msg2)-sizeof(msg2.type), 0))
        ERR_LOG("msgsnd error");
    // 第3条消息
    msg_t msg3 = {10, 1003, "wangwu", 60};
    if(-1 == msgsnd(msqid, &msg3, sizeof(msg3)-sizeof(msg3.type), 0))
        ERR_LOG("msgsnd error");
    // 第4条消息
    msg_t msg4 = {20, 1004, "zhaoliu", 70};
    if(-1 == msgsnd(msqid, &msg4, sizeof(msg4)-sizeof(msg4.type), 0))
        ERR_LOG("msgsnd error");
    // 删除消息队列
    // if(-1 == msgctl(msqid, IPC_RMID, NULL))
    //     ERR_LOG("msgctl error");
    return 0;
}